<template>
    <!--banner轮播-->
    <div class="swiper-container" id="mySwiper" ref="myListSwiper">
        <div class="swiper-wrapper">
            <div 
                class="swiper-slide" 
                v-for="(banner,index) in myList" 
                :key="banner.id"
            >
                <img :src="banner.imageUrl" />
            </div>
        </div>
        <!-- 如果需要分页器 -->
        <div class="swiper-pagination"></div>

        <!-- 如果需要导航按钮 -->
        <div class="swiper-button-prev"></div>
        <div class="swiper-button-next"></div>
    </div>
</template>

<script>
  import Swiper from 'swiper'
  export default {
    name:'SlideLoop', 
    props: ['myList'],  //声明接收的属性
    // 监视属性
    watch: {
        // 首先监视 myList 数据 
        myList: {
            immediate: true,  // 这里加这个只是为了之后的swiper封装
            handler(newVal,oldVal){
                // 在最近的以此页面更新完成后  执行 nextTick 当中传递的回调函数   update每一次更新都会执行
                this.$nextTick(()=>{
                    new Swiper (this.$refs.myListSwiper, {
                        // direction: 'vertical', // 垂直切换选项  这里是水平
                        loop: true, // 循环模式选项
                        
                        // 如果需要分页器  小圆点
                        pagination: {
                            el: '.swiper-pagination',
                        },
                        
                        // 如果需要前进后退按钮
                        navigation: {
                            nextEl: '.swiper-button-next',
                            prevEl: '.swiper-button-prev',
                        },
                        
                    })
                })
            }
        }
    }
  }
</script>

<style lang="less" scoped>
  
</style>